約 2,235,766 件
https://w.atwiki.jp/skypewiki/pages/81.html
COLORS
https://w.atwiki.jp/wiki9_mh2/pages/38.html
第六章 氷解 パオラ草原・北 パオラ草原・北西 パオラ草原・西 パオラ草原・西・地下水道 パオラブール洞穴 漆黒の祭壇 パオラブール山道 ランブール古墳 ランブール古墳・地下道 ランブール古墳・遺跡地下 ランブール古墳・遺跡頂上
https://w.atwiki.jp/alliance2000/pages/628.html
ARMHEAD "MUSCLE CHRONICLE" SIDE VIJAYA PROLOGUE 24 --80XX.XX.XX-- 山が燃えていた。 大規模な山火事に混じり金属色の溶岩めいた物体が流れ、大地に対し木の根のように炎が模様を描いていた。 広がる災害の中心には、九つの頭にそれぞれ一から九つまでの眼球を持つおぞましき化け物が蠢いていた。 衰退へ向かう人類も、隆盛しつつあるアームヘッドも等しく被害を被っていた。 そんな中、人間とファントムが混成する討伐チームが果敢にも立ち向かっていた。 それはプロトデルミスの鎧と剣を装備する人間の戦士や伝説の動物・馬と騎士を合わせたようなアームヘッドなど様々だ。 しかし無差別に破壊を続ける怪物、グリディヒュドラにとっては何が来ようと関係無かった。 一面の炎の中を進む馬型下半身機体とそれにまたがる戦士などの集団!その背負う旗には馬ドラゴンの紋章が描かれている。 「何という化け物だ……やはり伝説の龍の剣が無ければ」 『怖気づいたか?我々は探索チームが合流するまでの間生き延びるのが任務だ。そう難しくもあるまい?』 アームヘッド騎馬隊の方向をグリディヒュドラの不気味な首が見下ろした。 そして銀色の炎のような物体を噴射する!それは高温の液体金属であり触れる物を片っ端から炎上させる! 逃げ惑う騎士団を襲うのは九つの首の内三本位だ。残りは焼き払った森や敵の残骸を貪り食っている。 騎馬の一組が銀溶岩に飲まれた。三つ目の邪蛇が嫌らしく笑みを浮かべ、更に火を吹く。 『「これ以上はやらせん!」』 牛めいた武装のコンビが首に迫る!だが真横に五つ目、背後から九つ目の首! 頭突きと咬撃が交差して一人と一機を分断する! 「ミノ太郎!」 銜え上げられた愛機に叫ぶも、本人の頭上にも三つ目の蛇が迫る! 『上だ!ギュードス逃げろ!』 その時、グリディヒュドラの胴体部で爆発!攻撃が中断される! そして天に現るは六本足の紅い龍! 全身の鰭や爪は翠玉めいて透き通り鋭く光る。金色の角を生やす頭部が、黄緑色の輝きを吐く! 『何だ彼奴は!?』 すると到着する聖剣探索チーム! 『俺達は海底洞窟の奥に伝説の龍の剣が刺さっていると思っていた…だが違った。龍は生きておりその身を狩って剣を創り出す必要があった』 『でもどうやっても勝てないので試しに「すごい強いやつと戦えるよ」と誘ったらついて来た』 カッパ装備のカッパ騎士アームヘッドが言った。 ヴィジャヤドラゴンがテトラブレスでグリディヒュドラを焼く! 邪蛇の三首が伸び巨龍の足に巻きつく!地に引きずり落とす! ヒュドラが追撃噛みつき!ヴィジャヤの翠の爪がバチバチと光りその牙を弾き返す! テトラネイルが蛇が抉る!吐きつけられる銀溶岩が龍を燃やす!獣同士の衝突に騎馬隊は物陰に退避した。 「あの龍、勝てるのか?」 『さあな、だが俺たちが束になってかかっていくよりは可能性がある』 蛇の牙と龍の爪!競り合って二首と両腕の取っ組み合いになる! 『ガオオオオオ』 ヴィジャヤドラゴンが真ん中の首に噛み付く!そのまま一気に粒子を流し込むテトラバイト! 『ネキキイイイイ』 グリディヒュドラも首に噛みつき高熱鉄流発射!口から溢れ出る溶鉄がボタボタと垂れ地が燃える! 金属が冷え固まると入れ歯めいて首に留まり続け、常時噛みつきダメージを生む物体と化す! 口を離したヒュドラは尚も銀の炎を浴びせつつ、別の首でヴィジャヤの各部に噛みつき鉄入れ歯を食い込ませんとする! ヴィジャヤドラゴンは筋肉を膨張させ反発!牙が抜けると両手の爪が発振しブレード状に!グリディヒュドラの顔面を裂く! 邪蛇は首の四本を脚のようにして高速後退!残りの首で溶鉄をぶち撒ける! 巨龍の背びれや翼に粒子の輝き!口からテトラブレスを放射し銀炎を迎え撃つ! 二種のエネルギーが衝突し眩い爆発! (続く) ARMHEAD "MUSCLE CHRONICLE" SIDE VIJAYA PROLOGUE 25 二種のエネルギーが衝突し眩い爆発! 爆煙を突破するヴィジャヤが翼を刃とし接近!ヒュドラの四つ目の首が大口を開け丸呑みを待つ! だがその顎が翼を噛んだ時、止めきれず真っ二つに掻っ捌かれる!邪蛇の頭一つ退治! 斬られた傷口に異変!沸騰した金属が血のように噴き出し歪な蛇を生成! ヴィジャヤドラゴンの尻尾を捕らえ引きずり落とす! グリディヒュドラの全ての首が一斉に上向く!そして鉄流を消防車めいて放物線状に噴射!ヴィジャヤに集中させ鉄塊で固める! 『グオアアアア』 巨龍の動きを封じた邪蛇ははみ出した脚に噛みつき喰い始める! 『彼奴でも駄目なのか?最早……』 「いや、これは寧ろ好機!あの蛇は龍だけで手一杯、であれば、我々こそが龍の勝利の剣!」 テング装備のテング騎士が言う。 そして騎士団がグリディヒュドラの手薄の胴体に向け特攻! 各々の武器を一斉に突き立てる!首の一本が怒り狂い騎馬たちを薙ぎ払う! 「うおーッ!!」 ドドルスポイ騎士が剣を蛇の目玉に突き刺す!二つ目の首は根元からも集中攻撃され巨木めいて斬り倒される! ヒュドラの意識がヴィジャヤから離れた時、山のように積もっていた金属塊が揺れ、龍の翼が突き出す! 飛翔するヴィジャヤドラゴン!長大化した爪で五つ目の首を切断! 『キイエエエエエ!!』 怒り狂うグリディヒュドラの傷跡から湯水の如く溶鉄が溢れ出し周囲を飲む。騎士たちは咄嗟に離れるも一部は飲み込まれた。 ヴィジャヤが拳を握る!八つ目の蛇を叩きのめす! 三つ目が鉄流噴射し龍の目を潰す!苦しむ姿を嘲笑っていたが、喉元に噛みつかれ引っこ抜かれる! 残りの首は既に倒された首すらも喰らい再生させようとしている!このままでは埒が明かないどころか、敵対者はひたすら消耗し最後には邪蛇だけが残るのだ。 「あの溶鉄も食った物に基づいてるなら…おい!奴の周りの残骸を退けるぞ!」 騎士たちがゴミ拾いする間も怪獣大決戦は続いていた。 銀炎を吐きつつも別の首は燃料を探す!遂に見つからなくなった為、ヴィジャヤドラゴンの翼を噛み千切ろうとする!龍は羽根を引っ張り蛇の首を張り詰めさせると、尻尾に粒子剣を生成!振り回し六つ目の蛇を切断! だがヒュドラも傷口から同様に剣を生やす!ヴィジャヤの掌を貫いて地に縫い付ける! 邪蛇の連続噛み千切り攻撃!筋肉をこそげ取られる龍だが被食者ではない!刺さった脚を引き裂かれながらも脱出!七つ目の頭部を鷲掴みにしトマトめいて握潰! 遂に首が二本になったグリディヒュドラだが異変!一つ目の首が根元から肥大化している。そして九つ目の首は鉄流噴射で巨体を宙に浮かせた! 見上げるヴィジャヤドラゴンは撃墜すべくテトラブレスを充填!蛇の頭は更に巨大化! そしてヒュドラはフクロウナギめいた異常な大口を展開!ヴィジャヤを頭から丸呑みに! 「なんじゃあらああああ」 騎士たちが恐れ慄き散り散りに退散! 全身を波打たせ脈打たせながら龍を体部に流し込む邪蛇。 完全に姿が消え静まり返ったその時、上空の暗雲に光!稲妻が蛇に落ち金色の槍が出現する! ヒュドラの背を突き破る爪がそれを掴む!怒る邪蛇の体が更に破られヴィジャヤドラゴンの首も突き出てくる! 二本の蛇と金色の槍と龍の首がそれぞれ絡み合い激突!! 『な、なんじゃらァ〜〜!?』 得体の知れぬ地獄絵図に騎士たちが引いている中死闘は続いた。 一つ目の蛇が龍の喉元を噛み締め、槍が九つ目の顎から頭へ貫通する。 鉄流が巻きつくように流れヴィジャヤドラゴンの首を確実に締めていく。その眼が光を失う。 槍が手放され、グリディヒュドラは勝利を確認し邪笑を浮かべる。 だがその笑んだ口から刃が飛び出る!ヴィジャヤの尾が体内を通って貫いたのだ。 体部から顎にかけてアジの開きのように捌かれたヒュドラの首がバナナの皮のように力なく倒れていく。 そして全身が溶鉄と混じりながら崩れ、周囲を焼きながら溶け広がっていった。 「勝ったのか……?」 カッパ騎士が銀溶岩の中心に立つヴィジャヤドラゴンを見上げた。 『……我らの勝利だ!』 天狗ヘッドが言った矢先、彼らの背後が爆発!目の前の龍が撃ったテトラブレスだ。 「『ええええええ!?」』 逃走する騎士団を無視し暴れ始めるヴィジャヤドラゴン! その日、結局一つの国家が消滅した。 (続く) ARMHEAD "MUSCLE CHRONICLE" SIDE VIJAYA PROLOGUE 26 --99XX.XX.XX-- 惑星の極地、氷の大地と終わりなき吹雪だけが存在する銀世界。 青白い空間に、また別空間が覗ける得体の知れない穴が出現した。 吹雪が謎ポータルに吹き込むと何らかの流れに押され消えて行った。 まもなく虚空の穴からは三体のアームヘッドが出現する。 「この時代で合っているか?」「恐らくそうでゴワッス」 「しかしなんでこんな寒いところにいるかね???」 歩み出す三機はやがて吹雪の中に聳える氷山に直面した。彼らはそこで歩みを止める。 「反応はこれだ」「氷漬けにでもなってんのか???」 だが、そうでは無かった。 巨大な氷山は地を揺るがしながら動き、彼らを見下ろした。 『グググググ』 超巨大アームヘッドは轟音のような声を発し数百年ぶりに口を開いたようだった。 「……我々はタイムスリップ教団である。私はタイムスリップレバニラ、そっちの相撲がフジヤマであとモツニ」 「それはさておき、バーベキューの誘いを断ったお前にもう一度チャンスを与えに来た。我らと共に来るのだ」 タイムスリップレバニラがアームヘッドサイズのメモを読みながら言った。 『……ベルべキュー…!』 超巨人が一睨みするとタイムスリップモツニが爆発! 「ヒッ…」 「…バーベキューを倒したことだけはあるな。デカいからと言って調子に乗るなよ?こっちにもデカブツは居る!」 「ゴワッス!!」タイムスリップフジヤマの機体、ファット卯月改が突進! バイク形態の加速と筋肉と脂肪を蓄えた大質量ボディの相乗!その破壊エネルギーは並ではない! だが巨大な手はそれを片手で受け止め、フジヤマは地平線の彼方へと投げ飛ばされた。 「なっ……そ、そうこなくてはなァ!」 レバニラの古代大気戦士めいた機体、レーバ・ニーラが両腕を広げ回転!マッスルコプターを派生させ竜巻を生む最高サイクロン!速度と規模を増し迫る! しかし超巨人が文字通りそれを足蹴にするとタイムスリップレバニラは無回転で吹き飛び消えた。 『……起こしておいて、この程度……』 マキシマム・ヴィジャヤは再度眠りにつき挑戦者を待とうとした。 彼らも6000年くらい前だったら強敵だったかも知れない。 しかし、強くなり過ぎてしまった今では対等な相手と遭遇する事もない。 時折、ベルべキューの言うとおりタイムスリップする事も考えた。しかし、腹の底ではあの創造主に納得していないのだ。 やがて彼の前に再度影が現れた。 黒いアームヘッドが一機。小脇には先程のフジヤマが抱えられている。 遥か彼方に消えた筈…… 「も、申し訳ございませんでゴワッス…教祖自らお出でになるなど…」 「もうよい。彼の動きを観られただけで充分だ。任務完了だ」 教祖と呼ばれた機体はフジヤマを異空間の穴に放り込んだ。 「先程は我が信徒達が失礼した。彼らは少々鍛錬に不真面目でね…」 「少しお灸を据えようと思ったのだ。つまり、君はもう教団員として既に一仕事終えた事になるな」 『……クギィ』 宗教特有の巻き込み言動にヴィジャヤは歯軋りした。 「私はタイムスリップサダヒコ。当然私も頭目として君を一員に迎えるべく来たのだが、今までとは勝手が違う。彼らはその…」 「…脳筋すぎた。いきなりついて来いと言われても、君がそれに従う理由など無い。なので今日はビジネスの話に来た」 『……』 ヴィジャヤは記憶の奥底からヴィジャネスオンデマンドを掘り起こしたが、再度埋めた。 「ビジネスといっても簡単な事だ。つまりは君に欲しいものを与えるということだ」 「君は昔バーベキューに同族を作り直して欲しいと言ったな。だがもう、今は違うのだろう?求めるものは何だね?」 『……』 「ふっそうか、虫けら風情が如何にして叶えられるか、といった具合か?だがレバニラの言葉を借りると君は…”大きすぎ”る。試しに打ってきてみたまえ」 (続く) ARMHEAD "MUSCLE CHRONICLE" SIDE VIJAYA PROLOGUE 27 (FINAL) 「試しに打ってきてみたまえ」 サダヒコの促すままに、ヴィジャヤは彼の機体の半分以上はある巨大な拳を振り上げ、容赦ないハンマーパンチを繰り出す! 黒いアームヘッド・アダマンティンがその一撃をガード姿勢で受けると足元が破砕し、そのまま氷の大地をXXkmに渡って削り滑って行った。 「……なるほど」 ほんの僅かに視認できる赤い残像を纏いながら瞬時に戻ってくるサダヒコ!どうやらワープの類ではない、光速で移動したのだ。 「君の拳には悲哀と寂寥、そして戦いに纏わる欲求不満が籠もっている。それを塗りつぶすだけの怒りと強さへの渇望を取り戻したいと思っている」 「君は当初プログラムに従いひたすら強さを求めるだけで良かった。それが仲間を喪い創造主に裏切られ、彼の思惑やプログラムの通りに鍛え続けることに迷いが生じた。故に最初に戻りたがっている!世界にはまだ見ぬ強敵が溢れ、己の限界に強い興味を惹かれていたあの頃に」 たった一撃のパンチでこれ程の思考を読み取る!相当の手練だ…ヴィジャヤは枯れていた興味を思い出しつつあった。 「ヴィジャヤよ…強者を求むるならばこの俺を恨むがよい。この俺に怒るがよい。…ベルべキューは当初知的で善良な人間だった。君たちの身を案じていたよ」 「だが俺が誘ったことを切欠に彼は変わってしまった。麺神に心酔し自我を殆ど失った。俺がその元凶だ」 『奴の事など…どうでもいい…!』 ヴィジャヤは輝きを増すアダマンティン胸部の宝玉を見据えた。 「ほう、ワイズコア…天然物は珍しいか?君の頭にもあるがまだ途上だな」 『それを寄越せ』 本心というより戦う理由付けに過ぎなかった。 「望みを叶えよう……来るがいい!!」 マキシマム・ヴィジャヤが錘と化した拳を振り下ろす!アダマンティンは防がない!正面から拳で応える!衝突のインパクト!震える氷床! 『ガアアア!!』その腕を更に押し込みながら放たれるテトラ・ウェーブ! 連続して脈打つように流し込まれる!大気を揺るがし周囲に氷の破片を輝かせ続く攻撃だが、アダマンティンに通じず!強力な覚醒壁に弾かれ表面をビリビリと通り過ぎる! 通常のアームヘッドならば最初のパンチ、強力な機体でも連続テトラ波を防ぎきれず自壊するのが当然だ。だがそれを凌ぐ彼奴は…… それでもバリアの減衰はある筈!ヴィジャヤはもう片方の腕でテトラバスターを充填……突如弾かれ中断! アダマンティンが飛び道具を撃った様子はない。敵の援護射撃もだ。 違和感を感じる中サダヒコも反撃に連続拳打を繰り出す!ヴィジャヤの巨大な拳も匹敵する速度で応酬する!だが違和感! 打撃を全て相殺している筈が頭部や腹部も殴られている!ヴィジャヤは僅か、薄赤い残光を見た気がするが正体を探る隙なし!やがて手にも痛み!拳同士の相殺が一撃目、その後の手を追撃する為の見えない二撃目が存在!ヴィジャヤの巨大足が地面を蹴飛ばす!一気に後退しながら連発テトラバスター! それらもアダマンティンに届く前に赤い拳が撃墜!サダヒコが腕を止めても撃墜! 『フン、姑息な技を…』 「タイムスリップ拳を学ぶまたとないチャンスだぞ、ちゃんと受け取れ」 『そんなもので俺が倒せるかアアアア!!!』 ヴィジャヤの咆哮と共に攻性バリアが拡大!テトラフィールドを成す! 周囲に仕掛けられた膨大なタイムスリップ拳撃が沸騰した泡めいて定期的に弾ける! 「その拳の重さでは光速は出せん。だから、大きすぎるのだ」 『そんなものは要らん!!』 マキシマムヴィジャヤが両腕を掲げる!瞬く間に空を覆うほどの超巨大テトラスフィアを発生! 「大きすぎるのだ」 アダマンティンは両の拳に調和エネルギーを溜め、パンチ動作と共に赤外線レーザーめいた一筋の光を放つ。ヴィジャヤの踏む氷の大地が綺麗に足の形状をかたどるように蒸滅し、落とし穴めいて股まで一気に嵌まり込んだ。スフィアは上に分断され、アダマンティンは超巨人の頭の高度まで瞬時に飛ぶ! 『ウオオオオオ!!』 ヴィジャヤはスフィアの残粒子を両腕に吸い寄せる!輝きは渦巻いて五倍サイズの光る拳と化す! ジャイアントダブルテトラスマッシャーが空中のアダマンティンを両側から圧し潰す! サダヒコは…機体の肘も膝も折り畳み限界まで縮こませる! 黒い弾丸は前転しながら圧迫する巨大拳の間を進む!レールガンめいた加速! 超高速回転アダマンティンがプレスから弾き出る!一気に全身開放!異常な身のひねり!そして! 「アダマスの鎌」 恐るべきチョップ斬撃が抜かれる! ヴィジャヤは首刈りを防ぐべく頭突き脳天ガード! 斬り裂かれることは免れたが、衝撃を吸収出来ず、氷に脚を突っ込んだままXXXkmに渡って削り滑って破壊し、大陸を分断した。 味わったことの無い衝撃にグロッキー状態となるヴィジャヤの前に、サダヒコが光速移動してくる。 「これで己がまだ最強ではない事が解ったか?これはビジネス。君が満足するまで勧誘は続けよう。ではさらばだ」 ポータルを開くサダヒコの背を、霞んだ視界で睨み上げるヴィジャヤ。 その後頭部では思惑通りメキメキと音を立て賢者の石の結晶体が成長していた。 『サダ……ヒコ……!』 やがてその姿が消えると、ヴィジャヤ周辺の氷が砕け、その巨体は極寒の海へと沈んでいった……。 ٷٷٷٷٷٷٷٷ жжжжжжжж ◎◎◎◎◎◎◎◎◎◎◎ --XXXXX.XX.XX-- そして恒久の時は流れ―――。 古の魔神は再び地上に昇り来る!! ”MUSCLE CHRONICLE” SIDE VIJAYA PROLOGUE 〈終〉 SIDE VIJAYA2 NEXTAGE に続く… 戻
https://w.atwiki.jp/c21coterie/pages/715.html
プロジェクトオイラーの問題を堀江伸一さんがPrologで解くページ Problem 61 「巡回図形数」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2061 三角数, 四角数, 五角数, 六角数, 七角数, 八角数は多角数であり, それぞれ以下の式で生成される. 三角数P3,n=n(n+1)/2 1, 3, 6, 10, 15, ... 四角数P4,n=n^2 1, 4, 9, 16, 25, ... 五角数P5,n=n(3n-1)/2 1, 5, 12, 22, 35, ... 六角数P6,n=n(2n-1) 1, 6, 15, 28, 45, ... 七角数P7,n=n(5n-3)/2 1, 7, 18, 34, 55, ... 八角数P8,n=n(3n-2) 1, 8, 21, 40, 65, ... 3つの4桁の数の順番付きの集合 (8128, 2882, 8281) は以下の面白い性質を持つ. この集合は巡回的である. 最後の数も含めて, 各数の後半2桁は次の数の前半2桁と一致する それぞれ多角数である 三角数 (P3,127=8128), 四角数 (P4,91=8281), 五角数 (P5,44=2882) がそれぞれ別の数字で集合に含まれている 4桁の数の組で上の2つの性質をもつはこの組だけである. 三角数, 四角数, 五角数, 六角数, 七角数, 八角数が全て表れる6つの巡回する4桁の数からなる唯一の順序集合の和を求めよ. この問題は探索でといても十分間に合いますが。 スタック操作だけで動的計画法で解くというチャレンジをしてみました。 どの部分の処理も線形時間か n log(n)で終わるようになっています。 appendを使ってるところだけが効率が悪いくらいです。 calcP3(N1) -between(1,200,N),N1 is (N*(N+1))//2,999 N1,N1 10000. calcP4(N1) -between(1,100,N),N1 is N*N,999 N1,N1 10000. calcP5(N1) -between(1,100,N),N1 is (N*(3*N-1))//2,999 N1,N1 10000. calcP6(N1) -between(1,100,N),N1 is (N*(2*N-1)),999 N1,N1 10000. calcP7(N1) -between(1,100,N),N1 is (N*(5*N-3))//2,999 N1,N1 10000. calcP8(N1) -between(1,100,N),N1 is (N*(3*N-2)),999 N1,N1 10000. mysweep([],[]) -!. mysweep([[NNum,FNum,Sum]],[]) -integer(NNum),integer(FNum),integer(Sum),!. mysweep([[NNum,FNum,_],[NNum,FNum,Sum]|Rest],Result) -!, mysweep([[NNum,FNum,Sum]|Rest],Result). mysweep([_,Set|Rest],[Set|Result]) - !, mysweep([Set|Rest],Result). calc2([NN,FN,Sum],[[NN,NB]|_],[NB,FN,Sum1]) - Sum1 is Sum+NN*100+NB. calc2(Set,[_|Rest],Result) - calc2(Set,Rest,Result). calc([],_,Ans,Perm) -!,search(Ans,Perm). calc(_,[],Ans,Perm) -!,search(Ans,Perm). calc([[NN,FN,Sum]|Rest],[[NN,NB]|Rest1],Ans,Perm) - !, findall(Re1,calc2([NN,FN,Sum],[[NN,NB]|Rest1],Re1),List), append(Ans,List,Ans1), calc(Rest,[[NN,NB]|Rest1],Ans1,Perm). calc([[NN,_,_]|Rest],[[NF,NB]|Rest1],Ans,Perm) - NN NF,!, calc(Rest,[[NF,NB]|Rest1],Ans,Perm). calc(List,[_|Rest],Ans,Perm) - !, calc(List,Rest,Ans,Perm). check([[A,A,Ans]|_],Ans) -!. check([_|Rest],Ans) - check(Rest,Ans). search([],[]) -!,fail. search(Ans,[]) -check(Ans,Ans1),write([ansis,Ans1]). search(Ans,Perm) - sort(Ans,Ans1), [Top|_]=Ans1, mysweep(Ans1,Re1), Ans2=[Top|Re1], select(L,Perm,Rest1), calc(Ans2,L,[],Rest1). to_date3([],[]) -!. to_date3([Y|Rest],[[N2,N1,Y]|Result]) - N1 is Y // 100, N2 is Y mod 100, to_date3(Rest,Result). to_date2([],[]) -!. to_date2([Y|Rest],[[N2,N1]|Result]) - N2 is Y // 100, N1 is Y mod 100, to_date2(Rest,Result). to_date([],[]) -!. to_date(List,Re2) - member(L,List), to_date2(L,Re1), sort(Re1,Re2). main61 - findall(Y,calcP3(Y),L3), findall(Y,calcP4(Y),L4), findall(Y,calcP5(Y),L5), findall(Y,calcP6(Y),L6), findall(Y,calcP7(Y),L7), findall(Y,calcP8(Y),L8), findall(Re,to_date([L3,L4,L5,L6,L7],Re),Perm), to_date3(L8,L88), search(L88,Perm). Problem 62 「立方数置換」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2062 立方数 41063625 (345^3) は, 桁の順番を入れ替えると2つの立方数になる 56623104 (384^3) と 66430125 (405^3) である. 41063625は, 立方数になるような桁の置換をちょうど3つもつ最小の立方数である. 立方数になるような桁の置換をちょうど5つもつ最小の立方数を求めよ. 解法 Nを小さい数字から始めN^3の各桁の数字の出現数でカウントしていき大きな数字へ続けます。 条件を満たせばそれを暫定解として探索していき暫定解*10<N^3となればそれより小さい答えはありません。 c++のstd mapにあたる機能がピュアPrologにはないので線形探索をしておりコード実行速度は遅いです。 std mapに当たる機能があったら非常に高速に解ける問題です。 mycount(0,Temp,Result) -sort(Temp,Result),!. mycount(N,Temp,Result) - N1 is N//10, M is N mod 10, (select([M,C],Temp,Rest) - C1 is C+1, mycount(N1,[[M,C1]|Rest],Result); mycount(N1,[[M,1]|Temp],Result)). search(N,Ans,_) - 0 Ans, T is Ans*10, N3 is N*N*N, T N3, !, write(Ans). search(N,Ans,Counts) - N3 is N*N*N, N1 is N+1, mycount(N3,[],Re1), select([Re1,C,Min],Counts,Rest),!, (4 = C - ((Ans Min;Ans= =0) - search(N1,Min,Counts); search(N1,Ans,Counts)); C1 is C+1, search(N1,Ans,[[Re1,C1,Min]|Rest]) ). search(N,Ans,Counts) - N3 is N*N*N, N1 is N+1, mycount(N3,[],Re1), search(N1,Ans,[[Re1,1,N3]|Counts]). Problem 63 「べき乗の桁の個数」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2063 5桁の数 16807 = 7^5は自然数を5乗した数である. 同様に9桁の数 134217728 = 8^9も自然数を9乗した数である. 自然数を n 乗して得られる n 桁の正整数は何個あるか? 解法 この問題は10より大きな数を考えると10^2>2桁なのでそれより大きな数の乗数は考慮する必要はありません。 1~9まで検証すれば十分です。 Logを使った方がすっきりしますが桁数を簡単に数えてときました。 keta_size(0,0) -!. keta_size(N,Result) - N1 is N//10, keta_size(N1,Re), Result is Re+1. search2(A,B,N) -N is A^B,keta_size(N,L),B L,!,fail. search2(A,B,N) -N is A^B,keta_size(N,L),B= =L. search2(A,B,N) -B1 is B+1,search2(A,B1,N). search(N) - between(1,9,A), search2(A,1,N). main63 -findall(N,search(N),List),sort(List,List1),length(List1,Len),write(Len). 問い64 http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2064 10000以下の平方数でない数を平方根を連分数展開で計算する。 これを連分数展開した時、連分数展開が奇数周期になる物の個数を答えよ。 gcd(0, B, B) -!. gcd(A, B, G) - A \== 0, R is B mod A, gcd(R, A, G). calc(N,NSqrt,U,DR,Deep,List,Result) - D is N-DR*DR, gcd(D,U,G), D1 is D//G, U1 is U//G, L1 is floor((NSqrt+DR)*U1/D1), L2 is L1*D1, UR2 is L2-DR, Deep1 is Deep+1, (member([L1,UR2,Deep2,D1],List) - !,Result is (Deep1-Deep2) mod 2 ;calc(N,NSqrt,D1,UR2,Deep1,[[L1,UR2,Deep1,D1]|List],Result)). search(10001,Ans) -!,write(Ans). search(N,Ans) - sqrt(N,N1), N= = floor(N1)*floor(N1), !, N2 is N+1, search(N2,Ans). search(N,Ans) - sqrt(N,NSqrt), FloorSQ is floor(NSqrt), calc(N,NSqrt,1,FloorSQ,0,[],Result), Ans1 is Ans+Result, N1 is N+1, search(N1,Ans1). Problem 65 「e の近似分数」 † e についての連分数である近似分数の100項目の分子の桁の合計を求めよ. http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2065 詳細はリンク先を参照のこと。 解法 問題の指定通り求めてみました。 gcd(0, B, B) -!. gcd(A, B, G) - A \== 0, R is B mod A, gcd(R, A, G). add(U,D,U1,D1,ReU,ReD) - U2 is U*D1+U1*D, D2 is D*D1, gcd(U2,D2,G), ReU is U2//G, ReD is D2//G. calc([X],U,D) - integer(X), U is 1, D is X. calc([X|Rest],U1,D1) - calc(Rest,U,D), add(U,D,X,1,D1,U1). calc_list(M) - between(0,98,N), (1= =N mod 3- M is N //3*2+2; M is 1). keta_sum(0,0) -!. keta_sum(N,Result) - N1 is N//10, keta_sum(N1,Re), Result is Re+N mod 10. main65 - findall(M,calc_list(M),List),calc(List,U,D),add(U,D,2,1,U1,_), keta_sum(U1,Ans),write(Ans). Problem 66 「ディオファントス方程式」 † http //projecteuler.net/problem=66 2次のディオファントス方程式に関する問題 詳細はリンク先を参照のこと。 解法 この問題は色々式変形したり漸化式が立たないか考えたけど自力では解けなかった問題。 ネットに転がっていたjavascriptコードをPrologコードに翻訳して100%カンニングして解いた。 驚くほど高速に答えが出てすこし驚いた。 この手法は連分数展開というものらしい。 大雑把な考え方までは理解したけれど、細かい計算は理解してない状態。 D=(x^2-1)/y^2はyが大きくなると x^2/y^2と見分けがつかなくなってくる。 √D=x/yを満たす分数を求める問題で近似するという発想らしい。 聞けばなるほどの着想だが厳密解といいう考え方にこだわってると中々出てこない発想だな。 一つ勉強になった。 calc(_,_,_,_,E,F,K,N,_,P2,_,_,X,Result) - B1 is (X-E*E)/F, C1 is floor((K+E)/B1), A1 is C1, A1= =2*K,0= =N mod 2,!,Result is P2. calc(_,_,_,_,E,F,K,N,P1,P2,Q1,Q2,X,Result) - B1 is (X-E*E)/F, C1 is floor((K+E)/B1), D1 is C1*B1-E, A1 is C1, E1 is D1, F1 is B1, P3 is A1*P2+P1, Q3 is A1*Q2+Q1, N1 is N+1, calc(A1,B1,C1,D1,E1,F1,K,N1,P2,P3,Q2,Q3,X,Result). calc_first([Result,D]) - between(2,1000,D), sqrt(D,T), K is floor(T), K2 is K*K, D\==K2, A is K, E is K, F is 1, N is 1, P1 is 1, P2 is K, Q1 is 0, Q2 is 1, calc(A,_,_,_,E,F,K,N,P1,P2,Q1,Q2,D,Result). main66_2 - findall([D,X],calc_first([D,X]),List), sort(List,List1),write(List1). Problem 67 「最大経路の和 その2」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2067 パスカルの三角形風味に数字が並んでいるので上から下までの経路の数字の和が最大になる経路の合計値をこたえよという問題。 問題自体は簡単。 ただPrologには破壊的代入がないせいで少しめんどくさいので只今効率的なコードとは何か熟慮中。 とりあえずProlog風味なファイル読み込みとは何かと考えてコーディングをしてみました。 データにゴミや入力ミスが入ってないから練習問題って楽でいいですね。 次の行の計算が少し混乱してるがまあ正しい答えが出てるからいいかな? one_read(Result,State) -get0(C),((C = = -1 ; C= =10;C= =32)- Result=[],State is C; one_read(Re,State),Result=[C|Re]). row_read([Re1|Result],ReState) - one_read(Re,State),(Re==[]- Re1=[];to_num(Re,0,Re1)),((State= = -1;State= =10)- ReState is State,Result=[]; row_read(Result,ReState)). all_read([Result|Re]) -row_read(Result,State),(State= = -1 - Re=[]; all_read(Re)). to_num([],Sum,Sum) -!. to_num([X|Rest],Sum,Result) - Sum1 is Sum*10+(X-48),to_num(Rest,Sum1,Result). calc_row(_,[],Re,Result) -!,reverse(Re,Result). calc_row([L,R|Rest],[Z|Sums],[RS|Rest1],Result) - !, L1 is L+Z, R1 is R+Z, (L1 RS - R2 is RS;R2 is L1), calc_row([R|Rest],Sums,[R1,R2|Rest1],Result). calc_row_first([L,R|Rest],[Z|Sums],Result) - L1 is L+Z, R1 is R+Z, calc_row([R|Rest],Sums,[R1,L1],Result). calc([[[]]],Sums) -!,write(a),sort(Sums,Sums1),write(Sums1). calc([Row|Rest],Sums) - calc_row_first(Row,Sums,Sums1), calc(Rest,Sums1). main67 -seen,see('e67.txt'),all_read(Re), [Sums|Rest]=Re, calc(Rest,Sums). Problem 68 「Magic 5-gon ring」 † 5角形の特殊な魔法陣を解く問題。 http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2068 解法 こういう探索系の問題はPrologは強いですね。 いかにもPrologらしいという感じで処理をかけた気がします。 search([],[],[],Sum,Sum,Ans) -!,write(Ans). search([],[L|Perm],Nums,Sum,Sum,Ans) -!, [Xi|L1]=L, [X1|_]=Ans, select(Xi,Nums,NumsRest), (X1= =10;X1 Xi), search(L1,Perm,NumsRest,Xi,Sum,Ans). search([Xi|Rest],Perm,Nums,NowSum,Sum,Ans) - integer(Xi), !, Xi 10, NowSum1 is NowSum+Xi, search(Rest,Perm,Nums,NowSum1,Sum,Ans). search([Xi|Rest],Perm,Nums,NowSum,Sum,Ans) - select(Xi,Nums,RestNum), NowSum1 is NowSum+Xi, search(Rest,Perm,RestNum,NowSum1,Sum,Ans). main68 - Ans=[X1,X2,X3, X4,X3,X5, X6,X5,X7, X8,X7,X9, X10,X9,X2], Perm=[[X4,X3,X5],[X6,X5,X7],[X8,X7,X9],[X10,X9,X2]], select(X1,[9,8,7,6,5,4,3,2,1,10],Rest), select(X2,Rest,Rest1), select(X3,Rest1,Rest2), X2 10, X3 10, Sum is X1+X2+X3, search([],Perm,Rest2,Sum,Sum,Ans). problem 69 「トーティエント関数の最大値」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2069 この問題はわざわざプログラムを書くまでもありません。 φ(n)=n*(1-1/p1)*(1-1/p2),,,*(1-1/pn)なのですから A=n/φ(n)=1/(1-1/p1)*(1-1/p2),,,*(1-1/pn)です。 Aが最大化されるのは右辺の分母が最小になるとき。 素数を小さい方からかけていき、2,3,5,7,11,13、、、とかけていき100万を超える手前が答えとなります。 Problem 70 「トーティエント関数の置換」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%2070 オイラーのトーティエント関数 φ(n) (ファイ関数とも呼ばれる) とは, n 未満の正の整数で n と互いに素なものの個数を表す. 例えば, 1, 2, 4, 5, 7, 8 は9未満で9と互いに素であるので, φ(9) = 6 となる. 1 は全ての正の整数と互いに素であるとみなされる. よって φ(1) = 1 である. 面白いことに, φ(87109)=79180 であり, 87109は79180を置換したものとなっている. 1 n 10^7 で φ(n) が n を置換したものになっているもののうち, n/φ(n) が最小となる n を求めよ. 解法 1素因数は一ケタ目が必ず違うのであり得ない。 3素因数のこれ以上下は絶対ないと言える最小値は1.014 試しに10万までの答えを探ると 75841で1.0087、、、という答えが出てくる。 4素因数以上は3より大きくなることは確実。 よって2素因数だけを調べればよい。 とりあえず試しに計算したらこうなっただけで何で2素因数だけを調べればよいのかさっぱり理屈がわからない。 直感的には√1000万に近い値同士の掛け算のあたりに答えがあるのでそのあたりだけを調べればよいとわかるのですが。 厳密に説明しろと言われたら困る状態です。 is_prime(N) - between(1,N,N1), N2 is 2*N1+1, N3 is N2*N2, (N N3- !,true; 0= =N mod N2,!,fail). prime_list(N1) -between(5,4999,N),N1 is N*2+1,is_prime(N1). countN(0,Result,Result) -!. countN(N,Counts,Result) - M is N mod 10, N1 is N//10, Counts1 is Counts+8^M, countN(N1,Counts1,Result). check(N,M) - countN(N,0,Re1), countN(M,0,Re2), Re1= =Re2. calc2(_,[],Ps,Ans,AnsN) - !, calc1(Ps,Ans,AnsN). calc2(P,[P1|_],Ps,Ans,AnsN) - T is P*P1, 10000000= T, !, calc1(Ps,Ans,AnsN). calc2(P,[P1|Rest],Ps,Ans,AnsN) - T is (P*P1)/((P-1)*(P1-1)), Ans= T, !, calc2(P,Rest,Ps,Ans,AnsN). calc2(P,[P1|Rest],Ps,_,_) - N is P*P1, M is (P-1)*(P1-1), check(N,M), !, Ans is (P*P1)/((P-1)*(P1-1)), AnsN is P*P1, calc2(P,Rest,Ps,Ans,AnsN). calc2(P,[_|Rest],Ps,Ans,AnsN) - calc2(P,Rest,Ps,Ans,AnsN). calc1([],Ans,AnsN) -!,write([Ans,AnsN]). calc1(Ps,Ans,AnsN) - [P|Ps1]=Ps, T is (P+1)/P, Ans T, !, calc2(P,Ps,Ps1,Ans,AnsN). calc1([_|Ps],Ans,AnsN) - calc1(Ps,Ans,AnsN). main70 -findall(N,prime_list(N),Ps),calc1(Ps,2,2).
https://w.atwiki.jp/ameba_pigg/pages/1476.html
aq aqua azk bg bk bl black blue br brown ch copper darkyellow dazk dbl dbr dgn dol dorchd dpr dtg dtq fj gd gl glrd gm gn gold gr gray green gy hndw id ird ivygreen kh khaki lbl lbr lcy lgr lightpink lpk lpr slv lstbl lv mnbl navy nv ol or orange pink pk pkw pl pr purple rbl rd rdpr red sb sbw sdbr shpk silver sk slbl stbl sv sy tb tg th tl tm tq wh white wrd wt yellow yg yl yw ywgn ygn
https://w.atwiki.jp/csjake/pages/173.html
Atolon スクリーンショット 内容 シンプルな小島マップで敵はおらず目標もない。沖の船の上にVTOLがある、以上。 評価 ボリューム ★☆☆☆☆ デザイン ★★☆☆☆ 面白さ ★☆☆☆☆ 難易度 ☆☆☆☆☆ ダウンロード(1.4MB) Crymod
https://w.atwiki.jp/nicoratch/pages/847.html
概要 DJコントローラー。 4 channel sound card搭載。Virtual DJ LE同梱。 スペック表 Product features Weight (incl. packaging)2.2 kg Dimensions (incl. packaging)42.0 x 25.2 x 7.5 cm Product specifications two-deck DJ MIDI controller power supply via USB or adapter (see tips) built-in low latency 4-channel 24-bit 96kHz audio interface no fewer than 82 controls smart loops, hot cues and needle drop function touch-sensitive jog wheels with red LED ring for positioning extensive loop function tilted section with effect filters and needle drop search pitch function with large fader, range and pitch bend 3 adjustable hot cues sync button per deck cue, set cue and play button track select browse button with load button per deck 3-band EQ per channel gain per channel CUE button per channel supple faders, supple crossover crossfader curve adjustable cue mix for the headphones master volume adjustable via rotary knob including Virtual DJ LE software microphone input 1/4-inch (6.35mm) jack with volume controls headphone input 1/4-inch (6.35mm) jack with volume controls outputs master out via XLR (balanced) and stereo RCA (unbalanced) power supply via USB or optional 5V adapter (see tips!) power consumption 5V DC, 1,000 mA dimensions 420 x 252 x 75 mm weight 2.2 kg included Virtual DJ LE software 価格 € 225前後(新品) Core Kontrol D2 http //www.highlite.nl/Shop/Products/Audio/Audio-Players/Midi-Controllers/CORE-Kontrol-D2
https://w.atwiki.jp/darkeden/pages/138.html
他のプレイヤーはどこで活動しているの? 吸血って何ですか? どうすれば吸血を治せますか? 蘇生する方法はありますか? なんかすごいスピードで動いてるプレイヤーを発見しました。 回復アイテム買う時いちいち数量指定するのが面倒・・ NPCの売ってるSpecial、見る度商品が変わってるようだけど・・? 最近始めたのですが、すぐにPKされてしまいます・・・ 花火拾ったんだけど、これってなに? SS(スクリーンショット)の撮り方教えてください 解像度について・・・ 吸血すると時々固まるんだけど・・・ ソウルチェインやブラッディトンネルが使えない カリゴダンジョンでコウモリ・バイクを見たよ レベル100を超えてるのに、炎・後光・十字架が出てない人がいます ~(種族)~が強すぎる ヴァンパイアだけ良いOPが出るって聞いたんだけど アウスも良いOPが出るって聞いたけど? アウス村に行きたいんですが ペロナにアウス村はないの? 地面に何もないのに状態異常になる 真っ白のワンコを連れている人がいますが、あれは何? ○○ってどこにあるの? 他のプレイヤーはどこで活動しているの? ペロナ村での活動が多いです。 ペロナ村へは各種族の対応NPCでワープを選択して移動できます。 sinaiaサーバー内で3つのサーバーがあるのでサーバーを巡れば夜時間帯なら活動している人を見つけられるでしょう。 吸血って何ですか? 戦闘中キャラクターのHPが30%以下に落ちると、 スレイヤーやアウスターズは ヴァンパイアやモンスターに吸血される可能性があります。 スレイヤーは吸血されるとHPバーの色が変わり、能力が大幅に下がります。 どうすれば吸血を治せますか? 街(スレイヤーなら各ギルド)の中に居る、 ポーション等を販売しているNPCに回復を頼むと 治療してもらうことができます。 吸血した相手のレベルに応じますが、Heal系列の回復魔法でも可能です。 Heal系列110のグレートヒールなら相手のレベル関係なく治療することが可能です。 蘇生する方法はありますか? スレイヤーはHeal系リザレクト(Lv40)スキルおよびウィッツアンサイド(lv130)、 ヴァンパイアはBlood系トランスヒュージョン(Lv50)スキル、ブラッディウィング(INT400以上)、 アウスターズはWater系ソウルリバーススキルを使用することで死体から蘇生させることができます。 ただしどのスキルも死亡したプレーヤーが既に復活地点に戻っている場合には使用できません。 また消耗品アイテムで、リザレクトスクロール(瀕死状態で蘇生)とエリクサースクロール(HP等全てフル状態で蘇生)を使用することで自キャラを蘇生できます。 なんかすごいスピードで動いてるプレイヤーを発見しました。 剣や刀のスライディング・ヴァンパイアスキルのラピットグライディング・アウスターズスキルのダッキングやテレポート等でマップ上を早く移動できます。 また、課金移動アイテムを使用すれば通常移動アイテムの1.5倍で移動可能。 種族戦時にハイランダーを持てば2倍速で移動が可能です。 それらのスキルでない場合はSpeedHack(チート・違法プログラム)使用者かと思われます。 同種族ならばCtrl+右クリで相手の名前・ステータスが見れますので、違反プレイヤーとして運営に通報してください。 回復アイテム買う時いちいち数量指定するのが面倒・・ 買いたいアイテムを右クリックすると 最大数量を購入することができます。 NPCの売ってるSpecial、見る度商品が変わってるようだけど・・? PCが売ったアイテムが店頭に並びます。 ただし商品リストに空きがない時は、いくら売っても追加されません。 ↓誰かが商品を購入 ↓商品リストに空きができる ↓誰かがNPCに商品を売る 空きの部分に売られた商品が追加される NPCによって、追加される商品が限定されている場合があります。 エスルラニアンの場合ヒールNPC・バイク販売NPCは制限なく並べられ、 剣を売ってるNPCは剣のみ 盾を売ってるNPCは盾のみ 銃を売ってるNPCは銃のみ というような感じで店頭に反映されていきます。 最近始めたのですが、すぐにPKされてしまいます・・・ 3サーバーで狩りをしましょう。 ここでは同族、他種族共にPK出来ません。 だからといって、他のプレイヤーへの悪戯禁止! Mobと戦っているスレイヤーに向けて霧を出す。 一匹一匹、コツコツとMobを倒しているバンプの周りに居るMobを2~3発殴って去る。 ホーンの周りに、Mobをコンチクショーってくらい集めてインビジ待機。 などなど、ホントにやめましょう。 花火拾ったんだけど、これってなに? 打ち上げましょう。もしくは個人商店などで売りましょう。それ以外使い道はありません。 保管庫が余っているなら、コレクションしてみるのも良いかも? SS(スクリーンショット)の撮り方教えてください ポーズを決めたらScroll Lockキーを押しましょう。撮った画像は、Softonフォルダ→DarkEdenJPフォルダ→ScreenShotフォルダと辿ると保存されています。 Scroll Lockキーがない場合は、Print Screenを押してペイントかなにかに貼り付けてしまいましょう。何気にこちらの方が解像度は綺麗に撮れます。またノートPC等ではFNキー+F12でもScroll Lockになるのでこれでも撮影できます。 解像度について・・・ 解像度は800×600, 1024×768等変更してプレイできます。解像度が大きい方が周辺の状況をつかみやすいですが、正しい位置をクリックするのが難しくなります。 可能な限りプレイしやすい範囲で大きい解像度をおススメします。 吸血すると時々固まるんだけど・・・ 吸血をする際、同時に何らかの攻撃を受けるとモーションだけ取ってしばらく硬直します。吸血に限らず全てのスキルは何らかの攻撃を受けるとモーションだけ取り、効果がありません。吸血はモーションが長いため、目立つだけです。 なお、吸血はワイルドウルフスキルがあれば死体を食べたり、Dバーストで硬直を短くできます。 ソウルチェインやブラッディトンネルが使えない ヒラノム聖地,アイセンダンジョン1F~2F,ゲルブルダンジョン等の一部ダンジョンで使用できません。 フィールドMAPでは使用可能です。 カリゴダンジョンでコウモリ・バイクを見たよ NPCでなくダンジョン入り口から変身・搭乗したまま入れば可能です。 レベル100を超えてるのに、炎・後光・十字架が出てない人がいます 長時間放置すると消えます。何時間で消えるかは個人差があります。 ~(種族)~が強すぎる 相手種族も同じことを思ってます。 強いと思った相手の種族をプレイしてみると相手種族の特徴をつかめるためおすすめです。 ヴァンパイアだけ良いOPが出るって聞いたんだけど ヴァンパイアのみユニーク武器がドロップされていた時期がありましたが 現在ではドロップしないようになってます。 アウスも良いOPが出るって聞いたけど? 実装当初は精霊石だけには良OPがつきやすかったですが 現在は修正されて、他のアクセと同等になってます。 アウス村に行きたいんですが アウス村への入り口はカスタローにあります。他種族は村へは入れません。 これは他種族がリンボ城や武士ギルド等に入れないのと同じことです。 ペロナにアウス村はないの? ペロナNWのMAP左上に実装されています。 地面に何もないのに状態異常になる バグってます。 一部の設置系スキルでエフェクトは消えたにもかかわらず効果が持続しているものがあります。 イエローポイズン(グリーンも?) サモングラウンドエレメンタル フューリーオブノーム マーシーグラウンド などなど 真っ白のワンコを連れている人がいますが、あれは何? 2007/4/6より限定200個で販売された限定ペットのウルヴァリンです。 基本能力に変更はなく、見た目と召還時のエフェクトが違います。 ペットニックネームを無期限で何度でも変更することが可能。 ただし、元のウルフドッグや他の課金ペットに変更することはできません。 ○○ってどこにあるの? CTRL+M で全体MAPを見えるようになっています。 Mobのレベルも調べられますので、活用しましょう。
https://w.atwiki.jp/sousakurobo/pages/48.html
真夜中、草木も眠る丑三つ時。 小さな集落に、大きな影が近付いていた。 それは人と同じ二本の足で大地を踏み締め、一歩、また一歩と確実に集落への距離を詰める。 だが、それは人ではなかった。 一般的な男性の二倍以上はある体躯と、情報量の多い、人間からは掛け離れたシルエット。その瞳は爛々と緑色に輝き、その装甲は鈍色の光沢を放っている。 そう、機械なのだ、これは。 世界を構成する物質“マナ”をエネルギーとし、個体によっては人間に並ぶ知能を有する、機械の巨人。 ――――人々は古代の遺跡から掘り出されたそれを、オートマタ(機械人形)と呼んだ。 「遥、野良がそっちに行ったぞ」 「うん……!」 ゴクリ、生唾を飲む。杖を持つ手に力が入る。 「ゴー! 行け!」 「……了解っ!」 茂みから、小柄な少女が“野良”の数十メートル前方に踊り出る。 鳶色の髪、三つ編みお下げのその少女、一条 遥は手にした杖を地面に突き立て、こう叫んだ。 「パラベラム!」 その瞬間、少女の眼前に土煙が上がる。 荒々しく着地したそれは、平淡な口調でこう言った。 <――――汝、平和を欲さば、戦への備えをせよ> ゆっくりと、しかし油断を感じさせない動作で振り返る。 <システム、省エネルギーモードから戦闘モードへ移行。マスター、指示を> 猛禽類のような頭部に赤く光るツイン・アイ。鋭角的なその装甲が黒く輝く。 少女は彼を、“リヒター”と呼んでいた。 「目標は“野良”一機。弾薬は使いたくないから……接近戦で対処して」 <イエス・マイマスター> リヒターが野良に向き直る。どうやら野良も戦闘モードへ移行したようだ。 「……気をつけて」 <……イエス・マイマスター> 「GO Ahead!」 遥が叫ぶと同時にリヒターが一歩を踏み込みブースタを点火。放出されたマナが光の尾を引いた。 ♪ ♪ ♪ 滑るように大地を駆ける漆黒の巨人。鈍色の巨人がそれを受け止めようと低く構える。 漆黒の巨人――――リヒターの両腕がぼうっと光った。マナによる防壁だ。 野良がタイミングを見計らって右腕を一閃。 しかしリヒターはそれを減速してタイミングをずらし回避。そして、そのまま脇の下へ潜り込み、貫手で脇を打つ。 濃密なマナの防壁によって覆われた貫手は易々と装甲を引き裂いた。 <……マナ不足の防御力などこんなものか> 本来、オートマタの装甲はマナによって強化されているはずだが、この野良はマナが不足しているためか、それが疎かになっている箇所が多数あるようだ。 <ガァァァァァァァッ!> 悲鳴のような音とともに、野良の胸部装甲がえぐられ、部品が宙を舞った。が、浅い。致命傷には至っていない。 スラスターを使って空中で一回転をしながら、距離を離す。 そこに野良が地面を蹴って跳躍。十数メートルの距離を、ほぼ一瞬で詰められてしまう。 相手はどうやら防御を捨ててパワーとスピードに特化したタイプのようだ。下手をすると一撃一撃が致命傷となりえるだろう。 距離を離すか、それとも―――― その時、彼は確認した。 こちらを観察する主の姿を。 そして、彼は理解した。 <――――なるほど> 野良がリヒターに掴み掛かる。リヒターも野良に掴み掛かる。 <……さあ、力比べだ> ♪ ♪ ♪ リヒターが土煙を撒き上げながら野良へと一直線に向かってゆくのを確認して、遥は杖を地面から離し、纏ったローブを翻して移動を開始する。 戦いに関しては素人の自分が指示を出したところで邪魔になるだけだ。彼の判断を信じて、自分はできる事をするしかない。 闇夜に紛れる、黒いローブ。 「気休め程度かもしれないけど、これで近付いて……」 サイドに回り込み、遠目から相手を観察する。 野良とリヒターの戦いは取っ組み合いに移行していた。どうやら彼はこちらの意図を察してくれたようだ。 相手はパワータイプ……のようだがスピードにも重きを置いているらしい。防御は二の次のようだ。重火器があれば簡単に勝負がつくだろうか。しかしそれだと下手をすれば赤字になる可能性がある。なのに敵は結構強いし……ひょっとしてこの依頼、割に合わない? だが割に合わない依頼でも請けなければ、明日のおかずが一品どころか二品……いや、おかず自体が消滅するかもしれない。もしかすると一日二食とか……そんな事になれば彼らから大ブーイングを喰らう事は必至だ。 それが嫌なら、どこかでいつもより多く稼がなければいけない。そして今がその時なのだ、多分。 「だぁ、もうっ! 全部貧乏が悪い!」 杖で大地を何度もつつく。この行為に意味は無い。ただの八つ当たりだ。 ……と、今は己のスカスカの財布を嘆いている場合ではない。 「どこかに、脆い部分があるはず……」 野良に視線を移す。 こちらにまでギリギリと装甲が、骨格が軋む音が聞こえてくるようだ。というか、 「聞こえる……脇腹、右の……」 どうやら相当ガタが来ているらしい。フレームの干渉のせいだろうか、右の脇腹から異音が聞こえた。そこから漏れる、微かなマナの光。 「圧縮されたマナが漏れてる……? という事は……。よしっ!」 都合よく足元にあった石を拾い、投擲。投げた石は見事狙った相手に命中し、野良が一瞬、こちらに気を取られる。 リヒターが右腕を腰だめに構えたのを確認し、すかさず杖を地面に突き立てた。地脈を通じて管理者にアクセス、マナの供給を開始する。 「回路接続、マナ供給完了! 右の脇腹! 貫いて、引っこ抜く!」 リヒターの腕が一際輝きを増した。集束したマナが、光の槍を形作る―――― <イエス・マイマスター> 野良が咄嗟に防御の姿勢をとろうとする。が、 <もう遅い> 瞬速の突きが野良の装甲を貫く。だがそれだけでは終わらない、終わらせない。 内部に侵入した手が、コンデンサを鷲掴みにして引きずり出した。 溢れ出す圧縮されたマナの粒子が二機の周囲を舞い躍る。その光景は、さしずめ真夏の蛍のよう。 野良の身体から力が抜け、がくりとその場にくずおれた。再起動の気配は無い。 ――――勝負は決した。 <目標の沈黙を確認> リヒターの言葉を聞き、遥の口から安堵の溜息が漏れる。二つのお下げがゆらりと揺れる。 「お疲れ様、リヒター」 少女は機械の巨人に歩み寄り、その装甲に優しく触れた。それと同時にマナを送り込む。ご褒美、というやつだ。 <感謝します、マスター> 「こちらこそ」 にっこりと微笑む少女を見、リヒターも目を細めた。機械だって笑うのだ。 「どうやらこうやら終わったみたいだな」 背後からの声に、少女は振り返る。 ざんばらの赤い髪。精悍な顔つきに、鋭い眼差し。見た目から見る年齢は十代後半から二十代前半といったところか。 「『どうやらこうやら』じゃないでしょう? 働け二八歳」 まあ、実年齢は三十路一歩手前なのだが。 「“俺達”がやったら瞬殺だからな。それにお前を鍛えないと意味無いだろう? はるかさんじゅうきゅうさい」 ちなみに、精神年齢は外見相応……いや、それ以下である。 「紛らわしい言い方しないの! まだ十八です私は! 誕生日は来月!」 「外見は一四かそこらなんだが、実年齢は二十歳手前……惜しい、実に惜しい」 ついでに言うとロリコンでもある。 そんな彼の名はリヒト・エンフィールド。遥の師にあたる人物だ。 「人種の違いを考慮に入れてほしいんですけれど」 「つまり極東は俺にとっての楽園だという事か! さすが黄金の国だ! 極東最高!」 ……こんなのが師匠だという事を認めたくはないが。 「どうしてこうなっちゃったかな……」 「ビバ極東!」と騒いでいる師から目を背け、遥は闇夜に佇む黒い巨人を見上げ、溜息ひとつ。 全ては彼との出会いがきっかけだった。 事の発端は二ヶ月前。まだ少し肌寒い、三月のお話―――― ↓ 感想をどうぞ(クリックすると開きます) + ... 名前
https://w.atwiki.jp/c21coterie/pages/763.html
プロジェクトオイラーという数学問題の掲載されたサイトの問題を堀江伸一さんがPrologで解くページ。 Prolog言語の特徴。 配列はない、stdコンテナにあたるものはもちろんない。 何があるかっていうとリストしかない。 凄く不便。 しかも破壊的代入がない、そのため動的計画法と物凄く相性が悪い、破壊的代入を前提としたデータ構造とも相性が悪いというか現実的な計算量で実装できない物が多数。 基本ローカル変数しかないから変数が増える問題では関数(Prologでは厳密に述語といい関数とわけて考える)の引数が凄いことになる。 引数を減らすと、解集合を巨大なリストで得てそこから一番いい解を探すような富豪プログラムになる。 利点はバックトラックがあるくらい、このバックトラックという機能は論理的処理には向いており、このためマサチューセッツ工科大学でも論理枠でPrologの講義が一応行われている。 Prologは論理的処理は得意だが、計算処理は苦手、よってプロジェクトオイラーのサイトの問題を解くには向いてない。 Prologという不便な言語でプロジェクトオイラーに挑戦してるのは多分私くらい。 何故Prologでやるかっていうかとこの言語、記述してると妙に楽しいから、それだけ、プロジェクトオイラーは趣味のサイトだからそれでもいいとおもってる。 C++が一番好きだけど書いてて楽しいのはProlog。 Javaは言語使用がヘビーで中々勉強する気にならない。 ちなみに私は整数論の教育を受けたことがないので整数論を中心としたプロジェクトオイラーのサイトでは平凡なコードです。 多様な問題がある会津大学オンラインジャッジ(AOJ)という競技プログラムの過去問を扱ったサイトでは私。 たまにですがコード実行速度1位を取ったり取った後で一月後位に1位を抜かれたりしています。 Problem 111 「重複桁を持つ素数」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20111 この問題例えばMの値が正しいかは置いといて M(n,1)=2,M(n,2)=5でXは1を2個、2を5個持ち他に何個かの桁がそれ以外の数字で構成された素数があったとして、これが素数なら 1と2両方で足すのかという疑問があったが、計算してみると M(10,d)はdが6以下になることがないみたいなのでこの疑問は解消されないままアセプト。 解けたものの分かりにくい問題だ。 test述語で駆動。 出てきた答えをExcelで集計してアセプト。 not_prime(N) - S is floor(sqrt(N)), between(2,S,M), 0= =N mod M, !, true. is_prime(N) -not(not_prime(N)). create_perm(-1,_,_,_,_,_) -!,fail. create_perm(0,_,_,_,Num,Num) - is_prime(Num),!. create_perm(Rest,Nums,D,Rest,Num,Result) - !, Num1 is Num*10+D, Num1 0, Rest1 is Rest-1, create_perm(Rest1,Nums,D,Rest1,Num1,Result). create_perm(Rest,Nums,D,M,Num,Result) - member(N,Nums), (N= =D- M1 is M-1 ; M1 is M), M1 -1, Num1 is Num*10+N, Num1 0, Rest1 is Rest-1, create_perm(Rest1,Nums,D,M1,Num1,Result). search_m(Nums,D,Ans) - Keta is 10, between(1,9,T), M is Keta-T, findall(Num,create_perm(Keta,Nums,D,M,0,Num),Ans), length(Ans,Len), Len 0, %write([len,M]), !. sum([],0) -!. sum([X|Xs],Result) -sum(Xs,Re),Result is Re+X. test -Nums=[9,8,7,6,5,4,3,2,1,0], between(0,9,D), search_m(Nums,D,Ans), sum(Ans,Ans1), write(Ans1),nl,fail. %write(Ans),nl. Problem 112 「はずみ数」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20112 とりあえず小さい方から全検証してみた。 割り算は遅いという太古の神話を思い出し、割り算を減らすために 数字を最初からリストにしたら少し早くなるかなと思って計算してみたけれど思ったより早くならなかった。 うーん逆に遅くなった? add([],0,[]) -!. add([],1,[1]) -!. add(Xs,0,Xs) -!. add([X|Xs],1,[X1|Result]) - Xt is (X+1), (Xt= =10- add(Xs,1,Result),X1=0;add(Xs,0,Result),X1 is Xt). check_up([X,X1]) -X1= X,!. check_up([X,X1|Xs]) -X1= X,check_up([X1|Xs]). check_down([X,X1]) -X= X1,!. check_down([X,X1|Xs]) -X= X1,check_down([X1|Xs]). check(Xs) -check_up(Xs),!. check(Xs) -check_down(Xs),!. calc(N,Ca,Cb,_) -Ca*99= =Cb,N1 is N-1,write([N1,Ca,Cb]),!. calc(N,Ca,Cb,Xs) - check(Xs), !, N1 is N+1, add(Xs,1,Xs1), !, Ca1 is Ca+1, calc(N1,Ca1,Cb,Xs1). calc(N,Ca,Cb,Xs) - N1 is N+1, add(Xs,1,Xs1), Cb1 is Cb+1, !, calc(N1,Ca,Cb1,Xs1). main -calc(100,99,0,[0,0,1]). Problem 113 「非はずみ数」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20113 10^100以下のはずみ数出ない数の割合を求める問題。 答えは14桁。 sum([],0) -!. sum([X|Xs],Sum1) -sum(Xs,Sum),Sum1 is Sum+X. next_calc([],0,[]). next_calc([Count|Counts],Sum1,[Sum1|Result]) - next_calc(Counts,Sum,Result), Sum1 is Sum+Count. calc_up(100,_,Sum,Sum) -!. calc_up(N,Counts,Sum,Result) - next_calc(Counts,_,Counts1), sum(Counts1,Add), Sum1 is Sum+Add-1, N1 is N+1, !, calc_up(N1,Counts1,Sum1,Result). calc_down(100,_,Sum,Sum) -!. calc_down(N,Counts,Sum,Result) - next_calc(Counts,_,Counts1), [_|Counts2]=Counts1, sum(Counts2,Add), Sum1 is Sum+Add-1, N1 is N+1, !, calc_down(N1,Counts1,Sum1,Result). main113 -Counts=[10,9,8,7,6,5,4,3,2,1], calc_up(2,Counts,0,AnsUp), calc_down(2,Counts,0,AnsDown), Ans is AnsUp+AnsDown+99-8*98, write([AnsUp,AnsDown,Ans]). Problem 114 「ブロックの組み合わせ方の数え上げ その1」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20114 長さ 7 ユニットからなる 1 列上に, 最低 3 ユニットの長さを持つ赤ブロックが置かれている. ただしどの赤ブロック同士も, 少なくとも 1 ユニットの黒い正方形が間にある(赤ブロックは長さが異なってもよい). これを敷き詰める方法は, ちょうど 17 通りある. 長さ50では何通りの敷き詰め方があるか? seed(1) - between(1,52,_). next_calc(_,_,[],[]) -!. next_calc(N,Count,[C1|Counts],[C1|Result]) - N 4, !, N1 is N+1, next_calc(N1,Count,Counts,Result). next_calc(N,Count,[C1|Counts],[C2|Result]) - C2 is C1+(N-3)*Count, N1 is N+1, next_calc(N1,Count,Counts,Result). calc([_,_,_,Ans]) -!,write(Ans). calc([Count|Counts]) - next_calc(1,Count,Counts,Counts1), calc(Counts1). main114 - findall(N,seed(N),Count), calc(Count). Problem 115 「ブロックの組み合わせ方の数え上げ その2」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20115 リスト操作しかないのが逆転の発想を与えてくれた問題。 ユニットの長さを伸ばす操作を手前に一つ追加する操作だと考えればすっきりコードが書ける。 SF作家であり医療研究機関のプログラマでもあったグレッグイーガンが作中、セルオートマトンでセルの計算を行うにはセルオートマトンのサイズが巨大になるほど、近傍セルへのアクセス時間が延びるという記述があった。 多分彼は配列型言語ではなく、リスト操作型言語のプログラマだったんだろう。 配列ならアクセス速度は1のはずだからである。 まあそんなのはどうでもいいことなのでコード記述。 計算量はもう少し下げられる可能性はあるがまあ十分高速なのでいいかな。 next_calc(_,[],0) -!. next_calc(N,[Count|Counts],Sum1) - N= 0, !, next_calc(N,Counts,Sum), Sum1 is Sum+Count. next_calc(N,[_|Counts],Sum) - !, N1 is N-1, next_calc(N1,Counts,Sum). seed(1) - between(1,51,_). calc(N,Sum,_) -1000000= Sum,!,N1 is N-3,write(N1). calc(N,Sum,Counts) - N1 is N+1, next_calc(50,Counts,Sum1), Sum2 is Sum+Sum1, calc(N1,Sum2,[Sum2|Counts]). main115 - findall(N,seed(N),Counts), calc(52,1,Counts). Problem 116 「赤タイル, 緑タイル, あるいは青タイル」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20116 %風をひいて頭がうまく動かない カユ ウマ とりあえず短いコードなので手っ取り早く書いてみた。 seed(1) - between(1,51,_). next_calc(_,_,[],[]) -!. next_calc(N,Add,[Count|Counts],[Count1|Result]) - N= 1, !, Count1 is Count+Add, next_calc(N,Add,Counts,Result). next_calc(N,Add,[Count|Counts],[Count|Result]) - N1 is N-1, next_calc(N1,Add,Counts,Result). calc(Len,Counts,Result) -length(Counts,Len),!,nth1(Len,Counts,Result). calc(Len,[Count|Counts],Result) - next_calc(Len,Count,Counts,Counts1), !, calc(Len,Counts1,Result). main116 - findall(Count,seed(Count),Counts), calc(2,Counts,Re1), calc(3,Counts,Re2), calc(4,Counts,Re3), Ans is Re1+Re2+Re3-3, write(Ans). problem 117 「赤タイル, 緑タイル, そして青タイル」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20117 これも簡単。 seed(1) - between(1,51,_). next_calc(_,_,[],[]) -!. next_calc(N,Add,[Count|Counts],[Count1|Result]) - N= 1, !, Count1 is Count+Add, next_calc(N,Add,Counts,Result). next_calc(N,Add,[Count|Counts],[Count|Result]) - N1 is N-1, next_calc(N1,Add,Counts,Result). calc([_,Ans]) -!,write(Ans). calc([Count|Counts]) - next_calc(2,Count,Counts,Counts1), next_calc(3,Count,Counts1,Counts2), next_calc(4,Count,Counts2,Counts3), calc(Counts3). main117 -findall(N,seed(N),Counts), calc(Counts). Problem 118 「パンデジタル素数集合」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20118 1 から 9 の全ての数字を使い, 自由につなげることで 10 進数の数字を作り, 複数の集合を作ることができる. 集合 {2,5,47,89,631} は面白いことに全ての要素が素数である. 1 から 9 の数字をちょうど 1 個ずつ含み, 素数の要素しか含まない集合はいくつあるか? うーん? 全探索してみましたが速度が出ません。 もう少し賢い方法があるのでしょうか? not_prime(N) -N 2,!. not_prime(N) - S is floor(sqrt(N)), between(2,S,M), 0= =N mod M, !, true. is_prime(N) -not(not_prime(N)). search_list(N,[],P,1) -!, (P N;N= =0), (N= =0;is_prime(N)). search_list(N,Nums,P,Result) - P N, is_prime(N), search_list(0,Nums,N,Result). search_list(N,Nums,P,Result) - select(N1,Nums,Nums1), N2 is N*10+N1, search_list(N2,Nums1,P,Result). main118 -findall(Add,search_list(0,[1,2,3,4,5,6,7,8,9],0,Add),Ans), length(Ans,Len),write(Len). Problem 119 「数字和のべき乗」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20119 A^Bの桁数和がAになる数を探せばよい、それだけの問題。 適当に桁数上限を決め手抜きアセプト。 本当なら、最小値を確定しながら逐次的に答えを伸ばすべきなのだがそれをしないでも答えは出るのでいいかと思う。 それをするとコードがめんどくさいことになる。 それならいっそ大きな範囲を決めていっきに答えた方が楽。 keta_sum(0,0) -!. keta_sum(N,Sum1) -N1 is N//10,keta_sum(N1,Sum), Sum1 is Sum+(N mod 10). calc2(N,A,B) - between(2,100,B), N is A^B, (N 10^20 - (!,fail);true), keta_sum(N,Sum), Sum= =A. calc([N,A,B]) - between(2,180,A), calc2(N,A,B). print_ans(31,_) -!. print_ans(N,[Ans|Ansers]) -write([N,Ans]),nl, N1 is N+1, print_ans(N1,Ansers). main119 -findall(Ans,calc(Ans),Ansers), msort(Ansers,Ansers1), print_ans(1,Ansers1). Problem 120 「自乗で割った余り」 † http //odz.sakura.ne.jp/projecteuler/index.php?cmd=read page=Problem%20120 モード演算ですから計算結果は周期になります。 その時を捕まえれば一応全探索で答えが出ましたがそのコードは素朴すぎて却下。 もうちょっと頭のいい方法がありそうなので調べました。 http //www.mathblog.dk/project-euler-120-maximum-remainder/ とりあえず英語が読めないのですがこういうサイトくらいの解説は私のサイトも行うべきなのかもしれません。 リンク先の方法は2項定理で数式が打ち消し合ってその余りを取れば2anか2が残るところまでは理解。 ここで式は 2an=r mod a^2 となるので余りはaの倍数でしかありえない。 n=(a-1)/2の時余りは最大となるからこれが答えとなるようです。 というわけで今回はカンニングして解きました。 コードもシンプルなものです。 いかにもプロジェクトオイラーらしい答えですね。 これくらいなら良く考えれば自分でも思いつけたかも。 search(Result) - between(3,1000,A), Result is 2*A*((A-1)//2). sum([],0) -!. sum([X|Xs],Result) -sum(Xs,Re),Result is Re+X. main120 -findall(Ans,search(Ans),Ansers), sum(Ansers,Ans2),write(Ans2). 事実 会津大学オンラインジャッジでコード実行速度1位を取ったりすることもある私ですが。 兵庫県加古川市加古川町南備後在住の森元さんや藤村さんに言わせれば「AOJで一位を取るくらい馬鹿でもできる、ぷぷぷ笑い物」 だそうです、私より成績の悪い人も全員下等な見下された存在に分類されるそうです。 彼らは頭がいいんでしょうねきっと